1. Field of the Invention
The present invention relates to a data encoding apparatus for encoding data, a data encoding method, a data encoding program, and a recording medium.
2. Description of the Related Art
Conventionally, in the field of data storage devices provided with plural storage devices, various types of devices for maintaining security of stored data have been proposed. Examples of devices having a unit for maintaining the security of data include data storage devices in which removal of a storage device where data is stored is simply prohibited. In these data storage devices, a data leakage by a third person and an unexpected removal of a storage device can be prevented using a simple configuration (refer to Patent Document 1 below, for example).
Further, other examples of devices having a unit for maintaining the security of data include data storage devices provided with an encoder. In the data storage devices provided with such an encoder, cryptographic keys are created in accordance with random numbers generated by a random number generator connected to the encoder. And the encoder encodes data by using the cryptographic key (refer to Patent Documents 2 and 3)
Patent Document 1: Japanese Laid-Open Patent Application No. 2004-106207
Patent Document 2: Japanese Laid-Open Patent Application No. 2003-059178
Patent Document 3: Japanese Laid-Open Patent Application No. 2002-152193
However, in the technique disclosed in the above-mentioned Patent Document 1, it is possible to view contents of data stored in the storage device through communication without directly removing the storage device, for example. Thus, this is problematic in that the security of data cannot be maintained.
Further, in the technique disclosed in the above-mentioned Patent Document 2 or 3, although the security of data is maintained in communication and the like by encoding data, one encoder encodes data from plural storage devices, encoding and decoding takes time when an amount of data is large.
Moreover, the random number generator disposed on the encoder does not generate random numbers for each storage device. Accordingly, when a method for generating random numbers is revealed, all the data distributed in the plural storage devices is decoded. In this manner, it is highly likely that when one code is decoded, all the cryptographic keys are decrypted. In addition, the encoder always uses managed cryptographic keys even for temporary operations, so that when the cryptographic keys are decrypted, all the temporary operations may be intercepted by a third person. Thus, it is difficult to maintain the security of data when one encoder is disposed on the data storage device.